#include <stdio.h>
#include <signal.h>
#include <unistd.h>

void sigcb(int no)
{
  printf("recv signal:%d\n",no);
}
int main()
{
  signal(2,sigcb);
  signal(40,sigcb);//修改2和40号信号的处理方式
  sigset_t set,old;
  sigemptyset(&set);
  //sigaddset(&set,2);
  //sigaddseter(&set,40);
  sigfillset(&set);//填充所有信号到集合中
  printf("enter continue!\n");
  sigprocmask(SIG_BLOCK,&set,&old);
  getchar();//获取一个字符回车
  printf("continue!!\n");

  sigprocmask(SIG_SETMASK,&old,NULL);
  while(1)sleep(1);
  return 0;
}

